package yesjava;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;

public class MainTest {
    public static void main(String[] args) throws Exception {

       /*
        Teacher teacher = new Teacher("六六六");
        teacher.setName("huangKexiang");
        teacher.say();
        */

//        1. 获取类对象
        Class clazz = Class.forName("yesjava.Teacher");
//         2. 从类对象中获取构造方法
        Constructor constructor = clazz.getConstructor(String.class);
//         3. 通过构造器创建对象
        Object objectInstance = constructor.newInstance("六六六");
//        4. 从类对象中获取普通方法
        Method setName = clazz.getMethod("setName", String.class);
//        5. 执行该方法：执行者（对象），参数
        setName.invoke(objectInstance, "huangKexiang");
//        6.  重复 4 .5 获取say 方法并执行
        Method say = clazz.getMethod("say");
        say.invoke(objectInstance);


    }
}
/*


 */
